// EnergyPlus, Copyright (c) 1996-2025, The Board of Trustees of the University of Illinois,
// The Regents of the University of California, through Lawrence Berkeley National Laboratory
// (subject to receipt of any required approvals from the U.S. Dept. of Energy), Oak Ridge
// National Laboratory, managed by UT-Battelle, Alliance for Sustainable Energy, LLC, and other
// contributors. All rights reserved.
//
// NOTICE: This Software was developed under funding from the U.S. Department of Energy and the
// U.S. Government consequently retains certain rights. As such, the U.S. Government has been
// granted for itself and others acting on its behalf a paid-up, nonexclusive, irrevocable,
// worldwide license in the Software to reproduce, distribute copies to the public, prepare
// derivative works, and perform publicly and display publicly, and to permit others to do so.
//
// Redistribution and use in source and binary forms, with or without modification, are permitted
// provided that the following conditions are met:
//
// (1) Redistributions of source code must retain the above copyright notice, this list of
//     conditions and the following disclaimer.
//
// (2) Redistributions in binary form must reproduce the above copyright notice, this list of
//     conditions and the following disclaimer in the documentation and/or other materials
//     provided with the distribution.
//
// (3) Neither the name of the University of California, Lawrence Berkeley National Laboratory,
//     the University of Illinois, U.S. Dept. of Energy nor the names of its contributors may be
//     used to endorse or promote products derived from this software without specific prior
//     written permission.
//
// (4) Use of EnergyPlus(TM) Name. If Licensee (i) distributes the software in stand-alone form
//     without changes from the version obtained under this License, or (ii) Licensee makes a
//     reference solely to the software portion of its product, Licensee must refer to the
//     software as "EnergyPlus version X" software, where "X" is the version number Licensee
//     obtained under this License and may not use a different name for the software. Except as
//     specifically required in this Section (4), Licensee shall not use in a company name, a
//     product name, in advertising, publicity, or other promotional activities any name, trade
//     name, trademark, logo, or other designation of "EnergyPlus", "E+", "e+" or confusingly
//     similar designation, without the U.S. Department of Energy's prior written consent.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
// AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
// POSSIBILITY OF SUCH DAMAGE.

// EnergyPlus::AirTerminal SingleDuct Series PIU Reheat Unit Tests

// Google Test Headers
#include <gtest/gtest.h>

#include "Fixtures/EnergyPlusFixture.hh"
#include <EnergyPlus/Data/EnergyPlusData.hh>
#include <EnergyPlus/DataEnvironment.hh>
#include <EnergyPlus/DataZoneEquipment.hh>
#include <EnergyPlus/HeatBalanceManager.hh>
#include <EnergyPlus/IOFiles.hh>
#include <EnergyPlus/PoweredInductionUnits.hh>
#include <EnergyPlus/ScheduleManager.hh>
#include <EnergyPlus/SimulationManager.hh>
#include <EnergyPlus/ZoneAirLoopEquipmentManager.hh>

// EnergyPlus Headers
using namespace EnergyPlus::DataDefineEquip;
using namespace EnergyPlus::DataEnvironment;
using namespace EnergyPlus::DataZoneEquipment;
using namespace EnergyPlus::HeatBalanceManager;
using namespace EnergyPlus::PoweredInductionUnits;
using namespace EnergyPlus::SimulationManager;
using namespace EnergyPlus::ZoneAirLoopEquipmentManager;

namespace EnergyPlus {

TEST_F(EnergyPlusFixture, AirTerminalSingleDuctSeriesPIUReheat_GetInputtest)
{

    bool ErrorsFound(false);

    std::string const idf_objects = delimited_string({
        "  AirTerminal:SingleDuct:SeriesPIU:Reheat,",
        "    SPACE1-1 VAV Reheat,     !- Name",
        "    ReheatCoilAvailSched,    !- Availability Schedule Name",
        "    autosize,                !- Maximum Air Flow Rate {m3/s}",
        "    autosize,                !- Maximum Primary Air Flow Rate {m3/s}",
        "    autosize,                !- Minimum Primary Air Flow Fraction",
        "    SPACE1-1 ATU In Node,    !- Supply Air Inlet Node Name",
        "    SPACE1-1 ATU Sec Node,   !- Secondary Air Inlet Node Name",
        "    SPACE1-1 In Node,        !- Outlet Node Name",
        "    SPACE1-1 Zone Coil Air In Node,  !- Reheat Coil Air Inlet Node Name",
        "    SPACE1-1 PIU Mixer,      !- Zone Mixer Name",
        "    SPACE1-1 PIU Fan,        !- Fan Name",
        "    Coil:Heating:Water,      !- Reheat Coil Object Type",
        "    SPACE1-1 Zone Coil,      !- Reheat Coil Name",
        "    autosize,                !- Maximum Hot Water or Steam Flow Rate {m3/s}",
        "    0.0,                     !- Minimum Hot Water or Steam Flow Rate {m3/s}",
        "    0.0001;                  !- Convergence Tolerance",

        "  Fan:ConstantVolume,",
        "    SPACE1-1 PIU Fan,        !- Name",
        "    ReheatCoilAvailSched,    !- Availability Schedule Name",
        "    0.5,                     !- Fan Total Efficiency",
        "    50.0,                    !- Pressure Rise {Pa}",
        "    autosize,                !- Maximum Flow Rate {m3/s}",
        "    0.9,                     !- Motor Efficiency",
        "    1.0,                     !- Motor In Airstream Fraction",
        "    SPACE1-1 ATU Fan Inlet Node,  !- Air Inlet Node Name",
        "    SPACE1-1 Zone Coil Air In Node;  !- Air Outlet Node Name",

        "  Coil:Heating:Water,",
        "    SPACE1-1 Zone Coil,      !- Name",
        "    ReheatCoilAvailSched,    !- Availability Schedule Name",
        "    autosize,                !- U-Factor Times Area Value {W/K}",
        "    autosize,                !- Maximum Water Flow Rate {m3/s}",
        "    SPACE1-1 Zone Coil Water In Node,  !- Water Inlet Node Name",
        "    SPACE1-1 Zone Coil Water Out Node, !- Water Outlet Node Name",
        "    SPACE1-1 Zone Coil Air In Node,    !- Air Inlet Node Name",
        "    SPACE1-1 In Node,        !- Air Outlet Node Name",
        "    UFactorTimesAreaAndDesignWaterFlowRate,  !- Performance Input Method",
        "    autosize,                !- Rated Capacity {W}",
        "    82.2,                    !- Rated Inlet Water Temperature {C}",
        "    16.6,                    !- Rated Inlet Air Temperature {C}",
        "    71.1,                    !- Rated Outlet Water Temperature {C}",
        "    32.2,                    !- Rated Outlet Air Temperature {C}",
        "    ;                        !- Rated Ratio for Air and Water Convection",

        "  Schedule:Compact,",
        "    ReheatCoilAvailSched,    !- Name",
        "    Fraction,                !- Schedule Type Limits Name",
        "    Through: 12/31,           !- Field 1",
        "    For: AllDays,            !- Field 2",
        "    Until: 24:00,1.0;        !- Field 3",

        "  ZoneHVAC:EquipmentList,",
        "    SPACE1-1 Eq,             !- Name",
        "    SequentialLoad,          !- Load Distribution Scheme",
        "    ZoneHVAC:AirDistributionUnit,  !- Zone Equipment 1 Object Type",
        "    SPACE1-1 ATU,            !- Zone Equipment 1 Name",
        "    1,                       !- Zone Equipment 1 Cooling Sequence",
        "    1;                       !- Zone Equipment 1 Heating or No-Load Sequence",

        "  ZoneHVAC:AirDistributionUnit,",
        "    SPACE1-1 ATU,            !- Name",
        "    SPACE1-1 In Node,        !- Air Distribution Unit Outlet Node Name",
        "    AirTerminal:SingleDuct:SeriesPIU:Reheat,  !- Air Terminal Object Type",
        "    SPACE1-1 VAV Reheat;     !- Air Terminal Name",

        "  Zone,",
        "    SPACE1-1,                !- Name",
        "    0,                       !- Direction of Relative North {deg}",
        "    0,                       !- X Origin {m}",
        "    0,                       !- Y Origin {m}",
        "    0,                       !- Z Origin {m}",
        "    1,                       !- Type",
        "    1,                       !- Multiplier",
        "    2.438400269,             !- Ceiling Height {m}",
        "    239.247360229;           !- Volume {m3}",

        "  OutdoorAir:NodeList,",
        "    OutsideAirInletNodes;    !- Node or NodeList Name 1",

        "  NodeList,",
        "    OutsideAirInletNodes,    !- Name",
        "    Outside Air Inlet Node 1;!- Node 1 Name",

        "  ZoneHVAC:EquipmentConnections,",
        "    SPACE1-1,                !- Zone Name",
        "    SPACE1-1 Eq,             !- Zone Conditioning Equipment List Name",
        "    SPACE1-1 In Node,        !- Zone Air Inlet Node or NodeList Name",
        "    ,                        !- Zone Air Exhaust Node or NodeList Name",
        "    SPACE1-1 Node,           !- Zone Air Node Name",
        "    SPACE1-1 Out Node;       !- Zone Return Air Node Name",

    });

    ASSERT_TRUE(process_idf(idf_objects));

    state->dataGlobal->TimeStepsInHour = 1;    // must initialize this to get schedules initialized
    state->dataGlobal->MinutesInTimeStep = 60; // must initialize this to get schedules initialized
    state->init_state(*state);

    GetZoneData(*state, ErrorsFound);
    ASSERT_FALSE(ErrorsFound);

    GetZoneEquipmentData(*state);
    GetZoneAirLoopEquipment(*state);

    GetPIUs(*state);

    ASSERT_EQ(1, state->dataPowerInductionUnits->NumSeriesPIUs);
    EXPECT_EQ("SPACE1-1 ZONE COIL", state->dataPowerInductionUnits->PIU(1).HCoil); // heating coil name
    EXPECT_EQ("COIL:HEATING:WATER",
              HCoilNamesUC[static_cast<int>(state->dataPowerInductionUnits->PIU(1).HCoilType)]); // hot water heating coil
    EXPECT_GT(state->dataPowerInductionUnits->PIU(1).HotControlNode, 0);                         // none zero integer node index is expected
}

TEST_F(EnergyPlusFixture, AirTerminalSingleDuctSeriesPIU_SetADUInletNodeTest)
{

    bool ErrorsFound(false);

    std::string const idf_objects = delimited_string({
        "  AirTerminal:SingleDuct:SeriesPIU:Reheat,",
        "    SPACE1-1 PIU Reheat,     !- Name",
        "    ReheatCoilAvailSched,    !- Availability Schedule Name",
        "    autosize,                !- Maximum Air Flow Rate {m3/s}",
        "    autosize,                !- Maximum Primary Air Flow Rate {m3/s}",
        "    autosize,                !- Minimum Primary Air Flow Fraction",
        "    SPACE1-1 ATU In Node,    !- Supply Air Inlet Node Name",
        "    SPACE1-1 ATU Sec Node,   !- Secondary Air Inlet Node Name",
        "    SPACE1-1 In Node,        !- Outlet Node Name",
        "    SPACE1-1 Zone Coil Air In Node,  !- Reheat Coil Air Inlet Node Name",
        "    SPACE1-1 PIU Mixer,      !- Zone Mixer Name",
        "    SPACE1-1 PIU Fan,        !- Fan Name",
        "    Coil:Heating:Electric,   !- Reheat Coil Object Type",
        "    SPACE1-1 Zone Coil;      !- Reheat Coil Name",

        "  Fan:ConstantVolume,",
        "    SPACE1-1 PIU Fan,        !- Name",
        "    ReheatCoilAvailSched,    !- Availability Schedule Name",
        "    0.5,                     !- Fan Total Efficiency",
        "    50.0,                    !- Pressure Rise {Pa}",
        "    autosize,                !- Maximum Flow Rate {m3/s}",
        "    0.9,                     !- Motor Efficiency",
        "    1.0,                     !- Motor In Airstream Fraction",
        "    SPACE1-1 ATU Fan Inlet Node,  !- Air Inlet Node Name",
        "    SPACE1-1 Zone Coil Air In Node;  !- Air Outlet Node Name",

        "  Coil:Heating:Electric,",
        "    SPACE1-1 Zone Coil,      !- Name",
        "    ReheatCoilAvailSched,    !- Availability Schedule Name",
        "    1.0,                     !- Efficiency",
        "    autosize,                !- Nominal Capacity {W}",
        "    SPACE1-1 Zone Coil Air In Node,    !- Air Inlet Node Name",
        "    SPACE1-1 In Node;        !- Air Outlet Node Name",

        "  Schedule:Compact,",
        "    ReheatCoilAvailSched,    !- Name",
        "    Fraction,                !- Schedule Type Limits Name",
        "    Through: 12/31,           !- Field 1",
        "    For: AllDays,            !- Field 2",
        "    Until: 24:00,1.0;        !- Field 3",

        "  ZoneHVAC:EquipmentList,",
        "    SPACE1-1 Eq,             !- Name",
        "    SequentialLoad,          !- Load Distribution Scheme",
        "    ZoneHVAC:AirDistributionUnit,  !- Zone Equipment 1 Object Type",
        "    SPACE1-1 ATU,            !- Zone Equipment 1 Name",
        "    1,                       !- Zone Equipment 1 Cooling Sequence",
        "    1;                       !- Zone Equipment 1 Heating or No-Load Sequence",

        "  ZoneHVAC:AirDistributionUnit,",
        "    SPACE1-1 ATU,            !- Name",
        "    SPACE1-1 In Node,        !- Air Distribution Unit Outlet Node Name",
        "    AirTerminal:SingleDuct:SeriesPIU:Reheat,  !- Air Terminal Object Type",
        "    SPACE1-1 PIU Reheat;     !- Air Terminal Name",

        "  Zone,",
        "    SPACE1-1,                !- Name",
        "    0,                       !- Direction of Relative North {deg}",
        "    0,                       !- X Origin {m}",
        "    0,                       !- Y Origin {m}",
        "    0,                       !- Z Origin {m}",
        "    1,                       !- Type",
        "    1,                       !- Multiplier",
        "    2.438400269,             !- Ceiling Height {m}",
        "    239.247360229;           !- Volume {m3}",

        "  OutdoorAir:NodeList,",
        "    OutsideAirInletNodes;    !- Node or NodeList Name 1",

        "  NodeList,",
        "    OutsideAirInletNodes,    !- Name",
        "    Outside Air Inlet Node 1;!- Node 1 Name",

        "  ZoneHVAC:EquipmentConnections,",
        "    SPACE1-1,                !- Zone Name",
        "    SPACE1-1 Eq,             !- Zone Conditioning Equipment List Name",
        "    SPACE1-1 In Node,        !- Zone Air Inlet Node or NodeList Name",
        "    ,                        !- Zone Air Exhaust Node or NodeList Name",
        "    SPACE1-1 Node,           !- Zone Air Node Name",
        "    SPACE1-1 Out Node;       !- Zone Return Air Node Name",

    });

    ASSERT_TRUE(process_idf(idf_objects));

    state->dataGlobal->TimeStepsInHour = 1;    // must initialize this to get schedules initialized
    state->dataGlobal->MinutesInTimeStep = 60; // must initialize this to get schedules initialized
    state->init_state(*state);

    GetZoneData(*state, ErrorsFound);
    ASSERT_FALSE(ErrorsFound);

    GetZoneEquipmentData(*state);
    GetZoneAirLoopEquipment(*state);

    GetPIUs(*state);

    int constexpr PIUNum = 1;
    int constexpr ADUNum = 1;

    ASSERT_EQ(1, state->dataPowerInductionUnits->NumSeriesPIUs);
    EXPECT_EQ("SPACE1-1 ATU", state->dataDefineEquipment->AirDistUnit(ADUNum).Name);    // ADU name
    EXPECT_EQ("SPACE1-1 PIU REHEAT", state->dataPowerInductionUnits->PIU(PIUNum).Name); // PIU series name
    EXPECT_GT(state->dataDefineEquipment->AirDistUnit(ADUNum).InletNodeNum, 0);
    EXPECT_EQ(state->dataDefineEquipment->AirDistUnit(ADUNum).InletNodeNum, state->dataPowerInductionUnits->PIU(PIUNum).PriAirInNode);
}

TEST_F(EnergyPlusFixture, AirTerminalSingleDuctSeriesPIU_SimTest)
{

    std::string const idf_objects = delimited_string({

        "SimulationControl,",
        "    Yes,                     !- Do Zone Sizing Calculation",
        "    Yes,                     !- Do System Sizing Calculation",
        "    No,                      !- Do Plant Sizing Calculation",
        "    Yes,                     !- Run Simulation for Sizing Periods",
        "    No;                      !- Run Simulation for Weather File Run Periods",

        "Building,",
        "    Building 1,              !- Name",
        "    ,                        !- North Axis {deg}",
        "    ,                        !- Terrain",
        "    ,                        !- Loads Convergence Tolerance Value",
        "    ,                        !- Temperature Convergence Tolerance Value {deltaC}",
        "    MinimalShadowing,        !- Solar Distribution",
        "    ,                        !- Maximum Number of Warmup Days",
        "    ;                        !- Minimum Number of Warmup Days",

        "ShadowCalculation,",
        "    PolygonClipping,         !- Shading Calculation Method",
        "    Periodic,                !- Shading Calculation Update Frequency Method",
        "    ,                        !- Shading Calculation Update Frequency",
        "    15000,                   !- Maximum Figures in Shadow Overlap Calculations",
        "    ,                        !- Polygon Clipping Algorithm",
        "    ,                        !- Pixel Counting Resolution",
        "    SimpleSkyDiffuseModeling;!- Sky Diffuse Modeling Algorithm",

        "SurfaceConvectionAlgorithm:Inside,",
        "    TARP;                    !- Algorithm",

        "SurfaceConvectionAlgorithm:Outside,",
        "    DOE-2;                   !- Algorithm",

        "HeatBalanceAlgorithm,",
        "    ConductionTransferFunction,  !- Algorithm",
        "    200;                     !- Surface Temperature Upper Limit {C}",

        "ZoneAirHeatBalanceAlgorithm,",
        "    ThirdOrderBackwardDifference;  !- Algorithm",

        "ZoneAirContaminantBalance,",
        "    No;                      !- Carbon Dioxide Concentration",

        "Timestep,",
        "    6;                       !- Number of Timesteps per Hour",

        "ConvergenceLimits,",
        "    1;                       !- Minimum System Timestep {minutes}",

        "Site:Location,",
        "    Boise Air Terminal  Uo_ID_USA Design_Conditions,  !- Name",
        "    43.62,                   !- Latitude {deg}",
        "    -116.21,                 !- Longitude {deg}",
        "    -7.00,                   !- Time Zone {hr}",
        "    701.00;                  !- Elevation {m}",

        "SizingPeriod:DesignDay,",
        "    Boise Air Terminal  Uo Ann Htg 99.6% Condns DB,  !- Name",
        "    12,                      !- Month",
        "    21,                      !- Day of Month",
        "    WinterDesignDay,         !- Day Type",
        "    -16.3,                   !- Maximum Dry-Bulb Temperature {C}",
        "    0.0,                     !- Daily Dry-Bulb Temperature Range {deltaC}",
        "    DefaultMultipliers,      !- Dry-Bulb Temperature Range Modifier Type",
        "    ,                        !- Dry-Bulb Temperature Range Modifier Day Schedule Name",
        "    Wetbulb,                 !- Humidity Condition Type",
        "    -16.3,                   !- Wetbulb or DewPoint at Maximum Dry-Bulb {C}",
        "    ,                        !- Humidity Condition Day Schedule Name",
        "    ,                        !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir}",
        "    ,                        !- Enthalpy at Maximum Dry-Bulb {J/kg}",
        "    ,                        !- Daily Wet-Bulb Temperature Range {deltaC}",
        "    93182.,                  !- Barometric Pressure {Pa}",
        "    2.3,                     !- Wind Speed {m/s}",
        "    120,                     !- Wind Direction {deg}",
        "    No,                      !- Rain Indicator",
        "    No,                      !- Snow Indicator",
        "    No,                      !- Daylight Saving Time Indicator",
        "    ASHRAEClearSky,          !- Solar Model Indicator",
        "    ,                        !- Beam Solar Day Schedule Name",
        "    ,                        !- Diffuse Solar Day Schedule Name",
        "    ,                        !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless}",
        "    ,                        !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless}",
        "    0.00;                    !- Sky Clearness",

        "SizingPeriod:DesignDay,",
        "    Boise Air Terminal  Uo Ann Clg .4% Condns DB=>MWB,  !- Name",
        "    7,                       !- Month",
        "    21,                      !- Day of Month",
        "    SummerDesignDay,         !- Day Type",
        "    36.7,                    !- Maximum Dry-Bulb Temperature {C}",
        "    16.7,                    !- Daily Dry-Bulb Temperature Range {deltaC}",
        "    DefaultMultipliers,      !- Dry-Bulb Temperature Range Modifier Type",
        "    ,                        !- Dry-Bulb Temperature Range Modifier Day Schedule Name",
        "    Wetbulb,                 !- Humidity Condition Type",
        "    17.9,                    !- Wetbulb or DewPoint at Maximum Dry-Bulb {C}",
        "    ,                        !- Humidity Condition Day Schedule Name",
        "    ,                        !- Humidity Ratio at Maximum Dry-Bulb {kgWater/kgDryAir}",
        "    ,                        !- Enthalpy at Maximum Dry-Bulb {J/kg}",
        "    ,                        !- Daily Wet-Bulb Temperature Range {deltaC}",
        "    93182.,                  !- Barometric Pressure {Pa}",
        "    4.2,                     !- Wind Speed {m/s}",
        "    330,                     !- Wind Direction {deg}",
        "    No,                      !- Rain Indicator",
        "    No,                      !- Snow Indicator",
        "    No,                      !- Daylight Saving Time Indicator",
        "    ASHRAETau,               !- Solar Model Indicator",
        "    ,                        !- Beam Solar Day Schedule Name",
        "    ,                        !- Diffuse Solar Day Schedule Name",
        "    0.398,                   !- ASHRAE Clear Sky Optical Depth for Beam Irradiance (taub) {dimensionless}",
        "    2.125;                   !- ASHRAE Clear Sky Optical Depth for Diffuse Irradiance (taud) {dimensionless}",

        "RunPeriod,",
        "    Run Period 1,            !- Name",
        "    1,                       !- Begin Month",
        "    1,                       !- Begin Day of Month",
        "    ,                        !- Begin Year",
        "    12,                      !- End Month",
        "    31,                      !- End Day of Month",
        "    ,                        !- End Year",
        "    Sunday,                  !- Day of Week for Start Day",
        "    No,                      !- Use Weather File Holidays and Special Days",
        "    No,                      !- Use Weather File Daylight Saving Period",
        "    No,                      !- Apply Weekend Holiday Rule",
        "    Yes,                     !- Use Weather File Rain Indicators",
        "    Yes;                     !- Use Weather File Snow Indicators",

        "Site:GroundTemperature:BuildingSurface,",
        "    21.5,                    !- January Ground Temperature {C}",
        "    21.4,                    !- February Ground Temperature {C}",
        "    21.5,                    !- March Ground Temperature {C}",
        "    21.5,                    !- April Ground Temperature {C}",
        "    22.0,                    !- May Ground Temperature {C}",
        "    22.9,                    !- June Ground Temperature {C}",
        "    23.0,                    !- July Ground Temperature {C}",
        "    23.1,                    !- August Ground Temperature {C}",
        "    23.1,                    !- September Ground Temperature {C}",
        "    22.2,                    !- October Ground Temperature {C}",
        "    21.7,                    !- November Ground Temperature {C}",
        "    21.6;                    !- December Ground Temperature {C}",

        "ScheduleTypeLimits,",
        "    Thermal Zone 1 Thermostat Schedule Type Limits,  !- Name",
        "    0,                       !- Lower Limit Value",
        "    4,                       !- Upper Limit Value",
        "    DISCRETE;                !- Numeric Type",

        "ScheduleTypeLimits,",
        "    Temperature,             !- Name",
        "    ,                        !- Lower Limit Value",
        "    ,                        !- Upper Limit Value",
        "    Continuous,              !- Numeric Type",
        "    temperature;             !- Unit Type",

        "ScheduleTypeLimits,",
        "    ActivityLevel,           !- Name",
        "    0,                       !- Lower Limit Value",
        "    ,                        !- Upper Limit Value",
        "    Continuous,              !- Numeric Type",
        "    activitylevel;           !- Unit Type",

        "ScheduleTypeLimits,",
        "    Fraction,                !- Name",
        "    0,                       !- Lower Limit Value",
        "    1,                       !- Upper Limit Value",
        "    CONTINUOUS;              !- Numeric Type",

        "ScheduleTypeLimits,",
        "    OnOff,                   !- Name",
        "    0,                       !- Lower Limit Value",
        "    1,                       !- Upper Limit Value",
        "    Discrete,                !- Numeric Type",
        "    availability;            !- Unit Type",

        "ScheduleTypeLimits,",
        "    OnOff hvac_library,      !- Name",
        "    0,                       !- Lower Limit Value",
        "    1,                       !- Upper Limit Value",
        "    Discrete,                !- Numeric Type",
        "    availability;            !- Unit Type",

        "Schedule:Compact,",
        "    Thermal Zone 1 Thermostat Schedule,  !- Name",
        "    Thermal Zone 1 Thermostat Schedule Type Limits,  !- Schedule Type Limits Name",
        "    Through: 12/31,          !- Field 1",
        "    For: AllDays,            !- Field 2",
        "    Until: 24:00,            !- Field 3",
        "    4;                       !- Field 4",

        "Schedule:Compact,",
        "    Medium Office ClgSetp,   !- Name",
        "    Temperature,             !- Schedule Type Limits Name",
        "    Through: 12/31,          !- Field 1",
        "    For: Weekdays SummerDesignDay WinterDesignDay CustomDay1 CustomDay2,  !- Field 2",
        "    Until: 7:00,             !- Field 3",
        "    40.00,                   !- Field 4",
        "    Until: 18:00,            !- Field 5",
        "    23.90,                   !- Field 6",
        "    Until: 24:00,            !- Field 7",
        "    40.00,                   !- Field 8",
        "    For: Weekends Holidays,  !- Field 9",
        "    Until: 7:00,             !- Field 10",
        "    40.00,                   !- Field 11",
        "    Until: 13:00,            !- Field 12",
        "    23.90,                   !- Field 13",
        "    Until: 24:00,            !- Field 14",
        "    40.00;                   !- Field 15",

        "Schedule:Compact,",
        "    Medium Office HtgSetp,   !- Name",
        "    Temperature,             !- Schedule Type Limits Name",
        "    Through: 12/31,          !- Field 1",
        "    For: Weekdays SummerDesignDay WinterDesignDay CustomDay1 CustomDay2,  !- Field 2",
        "    Until: 7:00,             !- Field 3",
        "    16.60,                   !- Field 4",
        "    Until: 18:00,            !- Field 5",
        "    21.10,                   !- Field 6",
        "    Until: 24:00,            !- Field 7",
        "    12.80,                   !- Field 8",
        "    For: Weekends Holidays,  !- Field 9",
        "    Until: 7:00,             !- Field 10",
        "    12.80,                   !- Field 11",
        "    Until: 13:00,            !- Field 12",
        "    21.10,                   !- Field 13",
        "    Until: 24:00,            !- Field 14",
        "    15.60;                   !- Field 15",

        "Schedule:Compact,",
        "    Office Activity,         !- Name",
        "    ActivityLevel,           !- Schedule Type Limits Name",
        "    Through: 12/31,          !- Field 1",
        "    For: Alldays,            !- Field 2",
        "    Until: 24:00,            !- Field 3",
        "    132.0;                   !- Field 4",

        "Schedule:Compact,",
        "    Office Bldg Light,       !- Name",
        "    Fraction,                !- Schedule Type Limits Name",
        "    Through: 12/31,          !- Field 1",
        "    For: Weekdays SummerDesignDay CustomDay1 CustomDay2,  !- Field 2",
        "    Until: 8:00,             !- Field 3",
        "    0.20,                    !- Field 4",
        "    Until: 17:00,            !- Field 5",
        "    0.90,                    !- Field 6",
        "    Until: 24:00,            !- Field 7",
        "    0.20,                    !- Field 8",
        "    For: Weekends Holidays WinterDesignDay,  !- Field 9",
        "    Until: 24:00,            !- Field 10",
        "    0.20;                    !- Field 11",

        "Schedule:Compact,",
        "    Office Bldg Equip,       !- Name",
        "    Fraction,                !- Schedule Type Limits Name",
        "    Through: 12/31,          !- Field 1",
        "    For: Weekdays SummerDesignDay CustomDay1 CustomDay2,  !- Field 2",
        "    Until: 8:00,             !- Field 3",
        "    0.17,                    !- Field 4",
        "    Until: 17:00,            !- Field 5",
        "    1.00,                    !- Field 6",
        "    Until: 24:00,            !- Field 7",
        "    0.17,                    !- Field 8",
        "    For: Weekends WinterDesignDay Holidays,  !- Field 9",
        "    Until: 24:00,            !- Field 10",
        "    0.17;                    !- Field 11",

        "Schedule:Compact,",
        "    Office Work Occupancy,   !- Name",
        "    Fraction,                !- Schedule Type Limits Name",
        "    Through: 12/31,          !- Field 1",
        "    For: Weekdays SummerDesignDay CustomDay1 CustomDay2,  !- Field 2",
        "    Until: 8:00,             !- Field 3",
        "    0.00,                    !- Field 4",
        "    Until: 9:00,             !- Field 5",
        "    0.50,                    !- Field 6",
        "    Until: 10:00,            !- Field 7",
        "    0.67,                    !- Field 8",
        "    Until: 17:00,            !- Field 9",
        "    1.00,                    !- Field 10",
        "    Until: 18:00,            !- Field 11",
        "    0.50,                    !- Field 12",
        "    Until: 24:00,            !- Field 13",
        "    0.00,                    !- Field 14",
        "    For: Weekends WinterDesignDay Holidays,  !- Field 15",
        "    Until: 8:00,             !- Field 16",
        "    0.00,                    !- Field 17",
        "    Until: 9:00,             !- Field 18",
        "    .06666667,               !- Field 19",
        "    Until: 10:00,            !- Field 20",
        "    0.133333325,             !- Field 21",
        "    Until: 12:00,            !- Field 22",
        "    0.20,                    !- Field 23",
        "    Until: 13:00,            !- Field 24",
        "    0.100000001,             !- Field 25",
        "    Until: 24:00,            !- Field 26",
        "    0.00;                    !- Field 27",

        "Schedule:Constant,",
        "    Always On Discrete hvac_library,  !- Name",
        "    OnOff hvac_library,      !- Schedule Type Limits Name",
        "    1;                       !- Hourly Value",

        "Schedule:Constant,",
        "    Always On Discrete,      !- Name",
        "    OnOff,                   !- Schedule Type Limits Name",
        "    1;                       !- Hourly Value",

        "Material,",
        "    1/2IN Gypsum,            !- Name",
        "    Smooth,                  !- Roughness",
        "    0.0127,                  !- Thickness {m}",
        "    0.16,                    !- Conductivity {W/m-K}",
        "    784.9,                   !- Density {kg/m3}",
        "    830.000000000001,        !- Specific Heat {J/kg-K}",
        "    0.9,                     !- Thermal Absorptance",
        "    0.4,                     !- Solar Absorptance",
        "    0.4;                     !- Visible Absorptance",

        "Material,",
        "    8IN Concrete HW,         !- Name",
        "    MediumRough,             !- Roughness",
        "    0.2033,                  !- Thickness {m}",
        "    1.72959999999999,        !- Conductivity {W/m-K}",
        "    2242.99999999999,        !- Density {kg/m3}",
        "    836.999999999999,        !- Specific Heat {J/kg-K}",
        "    0.9,                     !- Thermal Absorptance",
        "    0.65,                    !- Solar Absorptance",
        "    0.65;                    !- Visible Absorptance",

        "Material,",
        "    F08 Metal surface,       !- Name",
        "    Smooth,                  !- Roughness",
        "    0.0008,                  !- Thickness {m}",
        "    45.2800000000001,        !- Conductivity {W/m-K}",
        "    7823.99999999999,        !- Density {kg/m3}",
        "    500,                     !- Specific Heat {J/kg-K}",
        "    0.9,                     !- Thermal Absorptance",
        "    0.7,                     !- Solar Absorptance",
        "    0.7;                     !- Visible Absorptance",

        "Material,",
        "    MAT-CC05 4 HW CONCRETE,  !- Name",
        "    Rough,                   !- Roughness",
        "    0.1016,                  !- Thickness {m}",
        "    1.311,                   !- Conductivity {W/m-K}",
        "    2240,                    !- Density {kg/m3}",
        "    836.800000000001,        !- Specific Heat {J/kg-K}",
        "    0.9,                     !- Thermal Absorptance",
        "    0.85,                    !- Solar Absorptance",
        "    0.85;                    !- Visible Absorptance",

        "Material,",
        "    Metal Decking,           !- Name",
        "    MediumSmooth,            !- Roughness",
        "    0.0015,                  !- Thickness {m}",
        "    45.006,                  !- Conductivity {W/m-K}",
        "    7680,                    !- Density {kg/m3}",
        "    418.4,                   !- Specific Heat {J/kg-K}",
        "    0.9,                     !- Thermal Absorptance",
        "    0.6,                     !- Solar Absorptance",
        "    0.6;                     !- Visible Absorptance",

        "Material,",
        "    Roof Insulation [18],    !- Name",
        "    MediumRough,             !- Roughness",
        "    0.1693,                  !- Thickness {m}",
        "    0.049,                   !- Conductivity {W/m-K}",
        "    265,                     !- Density {kg/m3}",
        "    836.800000000001,        !- Specific Heat {J/kg-K}",
        "    0.9,                     !- Thermal Absorptance",
        "    0.7,                     !- Solar Absorptance",
        "    0.7;                     !- Visible Absorptance",

        "Material,",
        "    Roof Membrane,           !- Name",
        "    VeryRough,               !- Roughness",
        "    0.0095,                  !- Thickness {m}",
        "    0.16,                    !- Conductivity {W/m-K}",
        "    1121.29,                 !- Density {kg/m3}",
        "    1460,                    !- Specific Heat {J/kg-K}",
        "    0.9,                     !- Thermal Absorptance",
        "    0.7,                     !- Solar Absorptance",
        "    0.7;                     !- Visible Absorptance",

        "Material,",
        "    Air Wall Material,       !- Name",
        "    MediumSmooth,            !- Roughness",
        "    0.01,                    !- Thickness {m}",
        "    0.6,                     !- Conductivity {W/m-K}",
        "    800,                     !- Density {kg/m3}",
        "    1000,                    !- Specific Heat {J/kg-K}",
        "    0.95,                    !- Thermal Absorptance",
        "    0.7,                     !- Solar Absorptance",
        "    0.7;                     !- Visible Absorptance",

        "Material:NoMass,",
        "    INSULATION-WALL,         !- Name",
        "    Rough,                   !- Roughness",
        "    2.2880,                  !- Thermal Resistance {m2-K/W}",
        "    0.65,                    !- Thermal Absorptance",
        "    0.65,                    !- Solar Absorptance",
        "    0.65;                    !- Visible Absorptance",

        "Material:AirGap,",
        "    F04 Wall air space resistance,  !- Name",
        "    0.15;                    !- Thermal Resistance {m2-K/W}",

        "Material:AirGap,",
        "    F05 Ceiling air space resistance,  !- Name",
        "    0.18;                    !- Thermal Resistance {m2-K/W}",

        "WindowMaterial:SimpleGlazingSystem,",
        "    Single pane Alum Material,  !- Name",
        "    1.25,                    !- U-Factor {W/m2-K}",
        "    0.20;                    !- Solar Heat Gain Coefficient",

        "Construction,",
        "    ExtRoof IEAD ClimateZone 1,  !- Name",
        "    Roof Membrane,           !- Outside Layer",
        "    Roof Insulation [18],    !- Layer 2",
        "    Metal Decking;           !- Layer 3",

        "Construction,",
        "    ExtSlabCarpet 4in ClimateZone 1-8,  !- Name",
        "    MAT-CC05 4 HW CONCRETE;  !- Outside Layer",

        "Construction,",
        "    ExtWall Mass ClimateZone 1,  !- Name",
        "    8IN Concrete HW,         !- Outside Layer",
        "    INSULATION-WALL,         !- Layer 2",
        "    1/2IN Gypsum;            !- Layer 3",

        "Construction,",
        "    ExtWindow ClimateZone 1, !- Name",
        "    Single pane Alum Material;  !- Outside Layer",

        "GlobalGeometryRules,",
        "    UpperLeftCorner,         !- Starting Vertex Position",
        "    Counterclockwise,        !- Vertex Entry Direction",
        "    Relative,                !- Coordinate System",
        "    Relative,                !- Daylighting Reference Point Coordinate System",
        "    Relative;                !- Rectangular Surface Coordinate System",

        "Zone,",
        "    Thermal Zone 1,          !- Name",
        "    ,                        !- Direction of Relative North {deg}",
        "    0,                       !- X Origin {m}",
        "    10,                      !- Y Origin {m}",
        "    0;                       !- Z Origin {m}",

        "ZoneList,",
        "    OpenOffice - ZoneList,   !- Name",
        "    Thermal Zone 1;          !- Zone 1 Name",

        "BuildingSurface:Detailed,",
        "    Surface 1,               !- Name",
        "    Floor,                   !- Surface Type",
        "    ExtSlabCarpet 4in ClimateZone 1-8,  !- Construction Name",
        "    Thermal Zone 1,          !- Zone Name",
        "    ,                        !- Space Name",
        "    ground,                  !- Outside Boundary Condition",
        "    ,                        !- Outside Boundary Condition Object",
        "    NoSun,                   !- Sun Exposure",
        "    NoWind,                  !- Wind Exposure",
        "    ,                        !- View Factor to Ground",
        "    ,                        !- Number of Vertices",
        "    10,                      !- Vertex 1 X-coordinate {m}",
        "    0,                       !- Vertex 1 Y-coordinate {m}",
        "    0,                       !- Vertex 1 Z-coordinate {m}",
        "    10,                      !- Vertex 2 X-coordinate {m}",
        "    -10,                     !- Vertex 2 Y-coordinate {m}",
        "    0,                       !- Vertex 2 Z-coordinate {m}",
        "    0,                       !- Vertex 3 X-coordinate {m}",
        "    -10,                     !- Vertex 3 Y-coordinate {m}",
        "    0,                       !- Vertex 3 Z-coordinate {m}",
        "    0,                       !- Vertex 4 X-coordinate {m}",
        "    0,                       !- Vertex 4 Y-coordinate {m}",
        "    0;                       !- Vertex 4 Z-coordinate {m}",

        "BuildingSurface:Detailed,",
        "    Surface 2,               !- Name",
        "    Wall,                    !- Surface Type",
        "    ExtWall Mass ClimateZone 1,  !- Construction Name",
        "    Thermal Zone 1,          !- Zone Name",
        "    ,                        !- Space Name",
        "    Outdoors,                !- Outside Boundary Condition",
        "    ,                        !- Outside Boundary Condition Object",
        "    SunExposed,              !- Sun Exposure",
        "    WindExposed,             !- Wind Exposure",
        "    ,                        !- View Factor to Ground",
        "    ,                        !- Number of Vertices",
        "    10,                      !- Vertex 1 X-coordinate {m}",
        "    0,                       !- Vertex 1 Y-coordinate {m}",
        "    3.048,                   !- Vertex 1 Z-coordinate {m}",
        "    10,                      !- Vertex 2 X-coordinate {m}",
        "    0,                       !- Vertex 2 Y-coordinate {m}",
        "    0,                       !- Vertex 2 Z-coordinate {m}",
        "    0,                       !- Vertex 3 X-coordinate {m}",
        "    0,                       !- Vertex 3 Y-coordinate {m}",
        "    0,                       !- Vertex 3 Z-coordinate {m}",
        "    0,                       !- Vertex 4 X-coordinate {m}",
        "    0,                       !- Vertex 4 Y-coordinate {m}",
        "    3.048;                   !- Vertex 4 Z-coordinate {m}",

        "BuildingSurface:Detailed,",
        "    Surface 3,               !- Name",
        "    Wall,                    !- Surface Type",
        "    ExtWall Mass ClimateZone 1,  !- Construction Name",
        "    Thermal Zone 1,          !- Zone Name",
        "    ,                        !- Space Name",
        "    Outdoors,                !- Outside Boundary Condition",
        "    ,                        !- Outside Boundary Condition Object",
        "    SunExposed,              !- Sun Exposure",
        "    WindExposed,             !- Wind Exposure",
        "    ,                        !- View Factor to Ground",
        "    ,                        !- Number of Vertices",
        "    10,                      !- Vertex 1 X-coordinate {m}",
        "    -10,                     !- Vertex 1 Y-coordinate {m}",
        "    3.048,                   !- Vertex 1 Z-coordinate {m}",
        "    10,                      !- Vertex 2 X-coordinate {m}",
        "    -10,                     !- Vertex 2 Y-coordinate {m}",
        "    0,                       !- Vertex 2 Z-coordinate {m}",
        "    10,                      !- Vertex 3 X-coordinate {m}",
        "    0,                       !- Vertex 3 Y-coordinate {m}",
        "    0,                       !- Vertex 3 Z-coordinate {m}",
        "    10,                      !- Vertex 4 X-coordinate {m}",
        "    0,                       !- Vertex 4 Y-coordinate {m}",
        "    3.048;                   !- Vertex 4 Z-coordinate {m}",

        "BuildingSurface:Detailed,",
        "    Surface 4,               !- Name",
        "    Wall,                    !- Surface Type",
        "    ExtWall Mass ClimateZone 1,  !- Construction Name",
        "    Thermal Zone 1,          !- Zone Name",
        "    ,                        !- Space Name",
        "    Outdoors,                !- Outside Boundary Condition",
        "    ,                        !- Outside Boundary Condition Object",
        "    SunExposed,              !- Sun Exposure",
        "    WindExposed,             !- Wind Exposure",
        "    ,                        !- View Factor to Ground",
        "    ,                        !- Number of Vertices",
        "    0,                       !- Vertex 1 X-coordinate {m}",
        "    -10,                     !- Vertex 1 Y-coordinate {m}",
        "    3.048,                   !- Vertex 1 Z-coordinate {m}",
        "    0,                       !- Vertex 2 X-coordinate {m}",
        "    -10,                     !- Vertex 2 Y-coordinate {m}",
        "    0,                       !- Vertex 2 Z-coordinate {m}",
        "    10,                      !- Vertex 3 X-coordinate {m}",
        "    -10,                     !- Vertex 3 Y-coordinate {m}",
        "    0,                       !- Vertex 3 Z-coordinate {m}",
        "    10,                      !- Vertex 4 X-coordinate {m}",
        "    -10,                     !- Vertex 4 Y-coordinate {m}",
        "    3.048;                   !- Vertex 4 Z-coordinate {m}",

        "BuildingSurface:Detailed,",
        "    Surface 5,               !- Name",
        "    Wall,                    !- Surface Type",
        "    ExtWall Mass ClimateZone 1,  !- Construction Name",
        "    Thermal Zone 1,          !- Zone Name",
        "    ,                        !- Space Name",
        "    Outdoors,                !- Outside Boundary Condition",
        "    ,                        !- Outside Boundary Condition Object",
        "    SunExposed,              !- Sun Exposure",
        "    WindExposed,             !- Wind Exposure",
        "    ,                        !- View Factor to Ground",
        "    ,                        !- Number of Vertices",
        "    0,                       !- Vertex 1 X-coordinate {m}",
        "    0,                       !- Vertex 1 Y-coordinate {m}",
        "    3.048,                   !- Vertex 1 Z-coordinate {m}",
        "    0,                       !- Vertex 2 X-coordinate {m}",
        "    0,                       !- Vertex 2 Y-coordinate {m}",
        "    0,                       !- Vertex 2 Z-coordinate {m}",
        "    0,                       !- Vertex 3 X-coordinate {m}",
        "    -10,                     !- Vertex 3 Y-coordinate {m}",
        "    0,                       !- Vertex 3 Z-coordinate {m}",
        "    0,                       !- Vertex 4 X-coordinate {m}",
        "    -10,                     !- Vertex 4 Y-coordinate {m}",
        "    3.048;                   !- Vertex 4 Z-coordinate {m}",

        "BuildingSurface:Detailed,",
        "    Surface 6,               !- Name",
        "    Roof,                    !- Surface Type",
        "    ExtRoof IEAD ClimateZone 1,  !- Construction Name",
        "    Thermal Zone 1,          !- Zone Name",
        "    ,                        !- Space Name",
        "    Outdoors,                !- Outside Boundary Condition",
        "    ,                        !- Outside Boundary Condition Object",
        "    SunExposed,              !- Sun Exposure",
        "    WindExposed,             !- Wind Exposure",
        "    ,                        !- View Factor to Ground",
        "    ,                        !- Number of Vertices",
        "    10,                      !- Vertex 1 X-coordinate {m}",
        "    -10,                     !- Vertex 1 Y-coordinate {m}",
        "    3.048,                   !- Vertex 1 Z-coordinate {m}",
        "    10,                      !- Vertex 2 X-coordinate {m}",
        "    0,                       !- Vertex 2 Y-coordinate {m}",
        "    3.048,                   !- Vertex 2 Z-coordinate {m}",
        "    0,                       !- Vertex 3 X-coordinate {m}",
        "    0,                       !- Vertex 3 Y-coordinate {m}",
        "    3.048,                   !- Vertex 3 Z-coordinate {m}",
        "    0,                       !- Vertex 4 X-coordinate {m}",
        "    -10,                     !- Vertex 4 Y-coordinate {m}",
        "    3.048;                   !- Vertex 4 Z-coordinate {m}",

        "FenestrationSurface:Detailed,",
        "    SubSurface 1,            !- Name",
        "    Window,                  !- Surface Type",
        "    ExtWindow ClimateZone 1, !- Construction Name",
        "    Surface 2,               !- Building Surface Name",
        "    ,                        !- Outside Boundary Condition Object",
        "    0.5,                     !- View Factor to Ground",
        "    ,                        !- Frame and Divider Name",
        "    1.0,                     !- Multiplier",
        "    4,                       !- Number of Vertices",
        "    8,                       !- Vertex 1 X-coordinate {m}",
        "    0,                       !- Vertex 1 Y-coordinate {m}",
        "    2.548,                   !- Vertex 1 Z-coordinate {m}",
        "    8,                       !- Vertex 2 X-coordinate {m}",
        "    0,                       !- Vertex 2 Y-coordinate {m}",
        "    0.548,                   !- Vertex 2 Z-coordinate {m}",
        "    2,                       !- Vertex 3 X-coordinate {m}",
        "    0,                       !- Vertex 3 Y-coordinate {m}",
        "    0.548,                   !- Vertex 3 Z-coordinate {m}",
        "    2,                       !- Vertex 4 X-coordinate {m}",
        "    0,                       !- Vertex 4 Y-coordinate {m}",
        "    2.548;                   !- Vertex 4 Z-coordinate {m}",

        "People,",
        "    OpenOffice - CZ1-3 People,  !- Name",
        "    OpenOffice - ZoneList,   !- Zone or ZoneList Name",
        "    Office Work Occupancy,   !- Number of People Schedule Name",
        "    People/Area,             !- Number of People Calculation Method",
        "    ,                        !- Number of People",
        "    0.50,                    !- People per Zone Floor Area {person/m2}",
        "    ,                        !- Zone Floor Area per Person {m2/person}",
        "    0.3,                     !- Fraction Radiant",
        "    ,                        !- Sensible Heat Fraction",
        "    Office Activity;         !- Activity Level Schedule Name",

        "Lights,",
        "    OpenOffice Lights,       !- Name",
        "    OpenOffice - ZoneList,   !- Zone or ZoneList Name",
        "    Office Bldg Light,       !- Schedule Name",
        "    Watts/Area,              !- Design Level Calculation Method",
        "    ,                        !- Lighting Level {W}",
        "    9.10,                    !- Watts per Zone Floor Area {W/m2}",
        "    ,                        !- Watts per Person {W/person}",
        "    ,                        !- Return Air Fraction",
        "    0.3,                     !- Fraction Radiant",
        "    ,                        !- Fraction Visible",
        "    ;                        !- Fraction Replaceable",

        "ElectricEquipment,",
        "    OpenOffice Electric Equipment,  !- Name",
        "    OpenOffice - ZoneList,   !- Zone or ZoneList Name",
        "    Office Bldg Equip,       !- Schedule Name",
        "    Watts/Area,              !- Design Level Calculation Method",
        "    ,                        !- Design Level {W}",
        "    8.02,                    !- Watts per Zone Floor Area {W/m2}",
        "    ,                        !- Watts per Person {W/person}",
        "    ,                        !- Fraction Latent",
        "    0.3,                     !- Fraction Radiant",
        "    ;                        !- Fraction Lost",

        "DesignSpecification:OutdoorAir,",
        "    OpenOffice - CZ1-3 Ventilation,  !- Name",
        "    Sum,                     !- Outdoor Air Method",
        "    0.0025,                  !- Outdoor Air Flow per Person {m3/s-person}",
        "    0.0035,                  !- Outdoor Air Flow per Zone Floor Area {m3/s-m2}",
        "    0,                       !- Outdoor Air Flow per Zone {m3/s}",
        "    0,                       !- Outdoor Air Flow Air Changes per Hour {1/hr}",
        "    Office Work Occupancy;   !- Outdoor Air Schedule Name",

        "DesignSpecification:ZoneAirDistribution,",
        "    Thermal Zone 1 Design Spec Zone Air Dist,  !- Name",
        "    1,                       !- Zone Air Distribution Effectiveness in Cooling Mode {dimensionless}",
        "    1;                       !- Zone Air Distribution Effectiveness in Heating Mode {dimensionless}",

        "Sizing:Parameters,",
        "    1.0,                     !- Heating Sizing Factor",
        "    1.0;                     !- Cooling Sizing Factor",

        "Sizing:Zone,",
        "    Thermal Zone 1,          !- Zone or ZoneList Name",
        "    SupplyAirTemperature,    !- Zone Cooling Design Supply Air Temperature Input Method",
        "    14,                      !- Zone Cooling Design Supply Air Temperature {C}",
        "    11.11,                   !- Zone Cooling Design Supply Air Temperature Difference {deltaC}",
        "    SupplyAirTemperature,    !- Zone Heating Design Supply Air Temperature Input Method",
        "    40,                      !- Zone Heating Design Supply Air Temperature {C}",
        "    11.11,                   !- Zone Heating Design Supply Air Temperature Difference {deltaC}",
        "    0.0085,                  !- Zone Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir}",
        "    0.008,                   !- Zone Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir}",
        "    OpenOffice - CZ1-3 Ventilation,  !- Design Specification Outdoor Air Object Name",
        "    ,                        !- Zone Heating Sizing Factor",
        "    ,                        !- Zone Cooling Sizing Factor",
        "    DesignDay,               !- Cooling Design Air Flow Method",
        "    0,                       !- Cooling Design Air Flow Rate {m3/s}",
        "    0.000762,                !- Cooling Minimum Air Flow per Zone Floor Area {m3/s-m2}",
        "    0,                       !- Cooling Minimum Air Flow {m3/s}",
        "    0,                       !- Cooling Minimum Air Flow Fraction",
        "    DesignDay,               !- Heating Design Air Flow Method",
        "    0,                       !- Heating Design Air Flow Rate {m3/s}",
        "    0.002032,                !- Heating Maximum Air Flow per Zone Floor Area {m3/s-m2}",
        "    0.1415762,               !- Heating Maximum Air Flow {m3/s}",
        "    0.3,                     !- Heating Maximum Air Flow Fraction",
        "    Thermal Zone 1 Design Spec Zone Air Dist,  !- Design Specification Zone Air Distribution Object Name",
        "    No;                      !- Account for Dedicated Outdoor Air System",

        "Sizing:System,",
        "    Packaged Rooftop VAV with Reheat,  !- AirLoop Name",
        "    VentilationRequirement,  !- Type of Load to Size On",
        "    Autosize,                !- Design Outdoor Air Flow Rate {m3/s}",
        "    0.30,                    !- Central Heating Maximum System Air Flow Ratio",
        "    7,                       !- Preheat Design Temperature {C}",
        "    0.008,                   !- Preheat Design Humidity Ratio {kgWater/kgDryAir}",
        "    12.8,                    !- Precool Design Temperature {C}",
        "    0.008,                   !- Precool Design Humidity Ratio {kgWater/kgDryAir}",
        "    14.8,                    !- Central Cooling Design Supply Air Temperature {C}",
        "    14.8,                    !- Central Heating Design Supply Air Temperature {C}",
        "    NonCoincident,           !- Type of Zone Sum to Use",
        "    Yes,                     !- 100% Outdoor Air in Cooling",
        "    Yes,                     !- 100% Outdoor Air in Heating",
        "    0.0085,                  !- Central Cooling Design Supply Air Humidity Ratio {kgWater/kgDryAir}",
        "    0.008,                   !- Central Heating Design Supply Air Humidity Ratio {kgWater/kgDryAir}",
        "    DesignDay,               !- Cooling Supply Air Flow Rate Method",
        "    0,                       !- Cooling Supply Air Flow Rate {m3/s}",
        "    0,                       !- Cooling Supply Air Flow Rate Per Floor Area {m3/s-m2}",
        "    1,                       !- Cooling Fraction of Autosized Cooling Supply Air Flow Rate",
        "    0,                       !- Cooling Supply Air Flow Rate Per Unit Cooling Capacity {m3/s-W}",
        "    DesignDay,               !- Heating Supply Air Flow Rate Method",
        "    0,                       !- Heating Supply Air Flow Rate {m3/s}",
        "    0,                       !- Heating Supply Air Flow Rate Per Floor Area {m3/s-m2}",
        "    1,                       !- Heating Fraction of Autosized Heating Supply Air Flow Rate",
        "    1,                       !- Heating Fraction of Autosized Cooling Supply Air Flow Rate",
        "    ,                        !- Heating Supply Air Flow Rate Per Unit Heating Capacity {m3/s-W}",
        "    ZoneSum,                 !- System Outdoor Air Method",
        "    1,                       !- Zone Maximum Outdoor Air Fraction {dimensionless}",
        "    CoolingDesignCapacity,   !- Cooling Design Capacity Method",
        "    Autosize,                !- Cooling Design Capacity {W}",
        "    0,                       !- Cooling Design Capacity Per Floor Area {W/m2}",
        "    1,                       !- Fraction of Autosized Cooling Design Capacity",
        "    HeatingDesignCapacity,   !- Heating Design Capacity Method",
        "    Autosize,                !- Heating Design Capacity {W}",
        "    0,                       !- Heating Design Capacity Per Floor Area {W/m2}",
        "    1,                       !- Fraction of Autosized Heating Design Capacity",
        "    OnOff;                   !- Central Cooling Capacity Control Method",

        "ZoneControl:Thermostat,",
        "    Thermal Zone 1 Thermostat,  !- Name",
        "    Thermal Zone 1,          !- Zone or ZoneList Name",
        "    Thermal Zone 1 Thermostat Schedule,  !- Control Type Schedule Name",
        "    ThermostatSetpoint:DualSetpoint,  !- Control 1 Object Type",
        "    Thermal Zone 1 Thermostat;  !- Control 1 Name",

        "ThermostatSetpoint:DualSetpoint,",
        "    Thermal Zone 1 Thermostat,  !- Name",
        "    Medium Office HtgSetp,   !- Heating Setpoint Temperature Schedule Name",
        "    Medium Office ClgSetp;   !- Cooling Setpoint Temperature Schedule Name",

        "AirTerminal:SingleDuct:SeriesPIU:Reheat,",
        "    Series PIU Elec Rht,     !- Name",
        "    ,                        !- Availability Schedule Name",
        "    Autosize,                !- Maximum Air Flow Rate {m3/s}",
        "    Autosize,                !- Maximum Primary Air Flow Rate {m3/s}",
        "    Autosize,                !- Minimum Primary Air Flow Fraction",
        "    Node 24,                 !- Supply Air Inlet Node Name",
        "    Node 25,                 !- Secondary Air Inlet Node Name",
        "    Node 6,                  !- Outlet Node Name",
        "    Series PIU Elec Rht Fan Outlet,  !- Reheat Coil Air Inlet Node Name",
        "    Series PIU Elec Rht Mixer,  !- Zone Mixer Name",
        "    Series PIU Fan,          !- Fan Name",
        "    Coil:Heating:Electric,   !- Reheat Coil Object Type",
        "    Series PIU Elec Rht Coil;!- Reheat Coil Name",

        "ZoneHVAC:AirDistributionUnit,",
        "    Series PIU Elec Rht Air Distribution Unit,  !- Name",
        "    Node 6,                  !- Air Distribution Unit Outlet Node Name",
        "    AirTerminal:SingleDuct:SeriesPIU:Reheat,  !- Air Terminal Object Type",
        "    Series PIU Elec Rht;     !- Air Terminal Name",

        "ZoneHVAC:EquipmentList,",
        "    Thermal Zone 1 Equipment List,  !- Name",
        "    ,                               !- Load Distribution Scheme",
        "    ZoneHVAC:AirDistributionUnit,   !- Zone Equipment 1 Object Type",
        "    Series PIU Elec Rht Air Distribution Unit,  !- Zone Equipment 1 Name",
        "    1,                       !- Zone Equipment 1 Cooling Sequence",
        "    1;                       !- Zone Equipment 1 Heating or No-Load Sequence",

        "ZoneHVAC:EquipmentConnections,",
        "    Thermal Zone 1,          !- Zone Name",
        "    Thermal Zone 1 Equipment List,  !- Zone Conditioning Equipment List Name",
        "    Thermal Zone 1 Inlet Node List, !- Zone Air Inlet Node or NodeList Name",
        "    Thermal Zone 1 Exhaust Node,    !- Zone Air Exhaust Node or NodeList Name",
        "    Node 1,                  !- Zone Air Node Name",
        "    Node 12;                 !- Zone Return Air Node or NodeList Name",

        "Fan:ConstantVolume,",
        "    Series PIU Fan,          !- Name",
        "    Always On Discrete,      !- Availability Schedule Name",
        "    0.7,                     !- Fan Total Efficiency",
        "    250,                     !- Pressure Rise {Pa}",
        "    AutoSize,                !- Maximum Flow Rate {m3/s}",
        "    0.9,                     !- Motor Efficiency",
        "    1,                       !- Motor In Airstream Fraction",
        "    Series PIU Elec Rht Mixer Outlet,  !- Air Inlet Node Name",
        "    Series PIU Elec Rht Fan Outlet;  !- Air Outlet Node Name",

        "Fan:VariableVolume,",
        "    Fan Variable Volume 1,   !- Name",
        "    Always On Discrete,      !- Availability Schedule Name",
        "    0.6045,                  !- Fan Total Efficiency",
        "    500,                     !- Pressure Rise {Pa}",
        "    AutoSize,                !- Maximum Flow Rate {m3/s}",
        "    FixedFlowRate,           !- Fan Power Minimum Flow Rate Input Method",
        "    0,                       !- Fan Power Minimum Flow Fraction",
        "    0,                       !- Fan Power Minimum Air Flow Rate {m3/s}",
        "    0.93,                    !- Motor Efficiency",
        "    1,                       !- Motor In Airstream Fraction",
        "    0.040759894,             !- Fan Power Coefficient 1",
        "    0.08804497,              !- Fan Power Coefficient 2",
        "    -0.07292612,             !- Fan Power Coefficient 3",
        "    0.943739823,             !- Fan Power Coefficient 4",
        "    0,                       !- Fan Power Coefficient 5",
        "    Node 11,                 !- Air Inlet Node Name",
        "    Node 3;                  !- Air Outlet Node Name",

        "Coil:Cooling:DX:TwoSpeed,",
        "    Coil Cooling DX Two Speed 1,  !- Name",
        "    Always On Discrete,      !- Availability Schedule Name",
        "    Autosize,                !- High Speed Gross Rated Total Cooling Capacity {W}",
        "    Autosize,                !- High Speed Rated Sensible Heat Ratio",
        "    3,                       !- High Speed Gross Rated Cooling COP {W/W}",
        "    Autosize,                !- High Speed Rated Air Flow Rate {m3/s}",
        "    773.3,                   !- High Speed 2017 Rated Evaporator Fan Power Per Volume Flow Rate [W/(m3/s)]",
        "    934.4,                   !- High Speed 2023 Rated Evaporator Fan Power Per Volume Flow Rate [W/(m3/s)]",
        "    ,                        !- Unit Internal Static Air Pressure {Pa}",
        "    Node 9,                  !- Air Inlet Node Name",
        "    Node 10,                 !- Air Outlet Node Name",
        "    Curve Biquadratic 1,     !- Total Cooling Capacity Function of Temperature Curve Name",
        "    Curve Quadratic 1,       !- Total Cooling Capacity Function of Flow Fraction Curve Name",
        "    Curve Biquadratic 2,     !- Energy Input Ratio Function of Temperature Curve Name",
        "    Curve Quadratic 2,       !- Energy Input Ratio Function of Flow Fraction Curve Name",
        "    Curve Quadratic 3,       !- Part Load Fraction Correlation Curve Name",
        "    Autosize,                !- Low Speed Gross Rated Total Cooling Capacity {W}",
        "    0.69,                    !- Low Speed Gross Rated Sensible Heat Ratio",
        "    3,                       !- Low Speed Gross Rated Cooling COP {W/W}",
        "    Autosize,                !- Low Speed Rated Air Flow Rate {m3/s}",
        "    773.3,                   !- High Speed 2017 Rated Evaporator Fan Power Per Volume Flow Rate [W/(m3/s)]",
        "    934.4,                   !- High Speed 2023 Rated Evaporator Fan Power Per Volume Flow Rate [W/(m3/s)]",
        "    Curve Biquadratic 3,     !- Low Speed Total Cooling Capacity Function of Temperature Curve Name",
        "    Curve Biquadratic 4,     !- Low Speed Energy Input Ratio Function of Temperature Curve Name",
        "    ,                        !- Condenser Air Inlet Node Name",
        "    AirCooled,               !- Condenser Type",
        "    ,                        !- Minimum Outdoor Dry-Bulb Temperature for Compressor Operation {C}",
        "    0,                       !- High Speed Evaporative Condenser Effectiveness {dimensionless}",
        "    Autosize,                !- High Speed Evaporative Condenser Air Flow Rate {m3/s}",
        "    Autosize,                !- High Speed Evaporative Condenser Pump Rated Power Consumption {W}",
        "    0,                       !- Low Speed Evaporative Condenser Effectiveness {dimensionless}",
        "    Autosize,                !- Low Speed Evaporative Condenser Air Flow Rate {m3/s}",
        "    Autosize,                !- Low Speed Evaporative Condenser Pump Rated Power Consumption {W}",
        "    ,                        !- Supply Water Storage Tank Name",
        "    ,                        !- Condensate Collection Water Storage Tank Name",
        "    10,                      !- Basin Heater Capacity {W/K}",
        "    2;                       !- Basin Heater Setpoint Temperature {C}",

        "Coil:Heating:Electric,",
        "    Series PIU Elec Rht Coil,!- Name",
        "    Always On Discrete hvac_library,  !- Availability Schedule Name",
        "    1,                       !- Efficiency",
        "    Autosize,                !- Nominal Capacity {W}",
        "    Series PIU Elec Rht Fan Outlet,  !- Air Inlet Node Name",
        "    Node 6;                  !- Air Outlet Node Name",

        "Coil:Heating:Electric,",
        "    Elec Htg Coil,           !- Name",
        "    Always On Discrete hvac_library,  !- Availability Schedule Name",
        "    1,                       !- Efficiency",
        "    Autosize,                !- Nominal Capacity {W}",
        "    Node 10,                 !- Air Inlet Node Name",
        "    Node 11,                 !- Air Outlet Node Name",
        "    Node 11;                 !- Temperature Setpoint Node Name",

        "CoilSystem:Cooling:DX,",
        "    Coil Cooling DX Two Speed 1 CoilSystem,  !- Name",
        "    Always On Discrete,      !- Availability Schedule Name",
        "    Node 9,                  !- DX Cooling Coil System Inlet Node Name",
        "    Node 10,                 !- DX Cooling Coil System Outlet Node Name",
        "    Node 10,                 !- DX Cooling Coil System Sensor Node Name",
        "    Coil:Cooling:DX:TwoSpeed,!- Cooling Coil Object Type",
        "    Coil Cooling DX Two Speed 1;  !- Cooling Coil Name",

        "Controller:OutdoorAir,",
        "    Controller Outdoor Air 1,!- Name",
        "    Node 8,                  !- Relief Air Outlet Node Name",
        "    Node 2,                  !- Return Air Node Name",
        "    Node 9,                  !- Mixed Air Node Name",
        "    Node 7,                  !- Actuator Node Name",
        "    0,                       !- Minimum Outdoor Air Flow Rate {m3/s}",
        "    Autosize,                !- Maximum Outdoor Air Flow Rate {m3/s}",
        "    NoEconomizer,            !- Economizer Control Type",
        "    ModulateFlow,            !- Economizer Control Action Type",
        "    28,                      !- Economizer Maximum Limit Dry-Bulb Temperature {C}",
        "    64000,                   !- Economizer Maximum Limit Enthalpy {J/kg}",
        "    ,                        !- Economizer Maximum Limit Dewpoint Temperature {C}",
        "    ,                        !- Electronic Enthalpy Limit Curve Name",
        "    -100,                    !- Economizer Minimum Limit Dry-Bulb Temperature {C}",
        "    NoLockout,               !- Lockout Type",
        "    FixedMinimum,            !- Minimum Limit Type",
        "    ,                        !- Minimum Outdoor Air Schedule Name",
        "    ,                        !- Minimum Fraction of Outdoor Air Schedule Name",
        "    ,                        !- Maximum Fraction of Outdoor Air Schedule Name",
        "    Controller Mechanical Ventilation 1,  !- Mechanical Ventilation Controller Name",
        "    ,                        !- Time of Day Economizer Control Schedule Name",
        "    No,                      !- High Humidity Control",
        "    ,                        !- Humidistat Control Zone Name",
        "    ,                        !- High Humidity Outdoor Air Flow Ratio",
        "    Yes,                     !- Control High Indoor Humidity Based on Outdoor Humidity Ratio",
        "    BypassWhenWithinEconomizerLimits;  !- Heat Recovery Bypass Control Type",

        "Controller:MechanicalVentilation,",
        "    Controller Mechanical Ventilation 1,  !- Name",
        "    Always On Discrete,      !- Availability Schedule Name",
        "    No,                      !- Demand Controlled Ventilation",
        "    ZoneSum,                 !- System Outdoor Air Method",
        "    ,                        !- Zone Maximum Outdoor Air Fraction {dimensionless}",
        "    Thermal Zone 1,          !- Zone 1 Name",
        "    OpenOffice - CZ1-3 Ventilation,  !- Design Specification Outdoor Air Object Name 1",
        "    Thermal Zone 1 Design Spec Zone Air Dist;  !- Design Specification Zone Air Distribution Object Name 1",

        "AirLoopHVAC:ControllerList,",
        "    Air Loop HVAC Outdoor Air System 1 Controller List,  !- Name",
        "    Controller:OutdoorAir,   !- Controller 1 Object Type",
        "    Controller Outdoor Air 1;!- Controller 1 Name",

        "AirLoopHVAC,",
        "    Packaged Rooftop VAV with Reheat,  !- Name",
        "    ,                        !- Controller List Name",
        "    Packaged Rooftop VAV with ReheatAvailability Manager List,  !- Availability Manager List Name",
        "    AutoSize,                !- Design Supply Air Flow Rate {m3/s}",
        "    Packaged Rooftop VAV with Reheat Supply Branches,  !- Branch List Name",
        "    ,                        !- Connector List Name",
        "    Node 2,                  !- Supply Side Inlet Node Name",
        "    Node 5,                  !- Demand Side Outlet Node Name",
        "    Packaged Rooftop VAV with Reheat Demand Inlet Nodes,  !- Demand Side Inlet Node Names",
        "    Packaged Rooftop VAV with Reheat Supply Outlet Nodes;  !- Supply Side Outlet Node Names",

        "AirLoopHVAC:OutdoorAirSystem:EquipmentList,",
        "    Air Loop HVAC Outdoor Air System 1 Equipment List,  !- Name",
        "    OutdoorAir:Mixer,        !- Component 1 Object Type",
        "    Air Loop HVAC Outdoor Air System 1 Outdoor Air Mixer;  !- Component 1 Name",

        "AirLoopHVAC:OutdoorAirSystem,",
        "    Air Loop HVAC Outdoor Air System 1,  !- Name",
        "    Air Loop HVAC Outdoor Air System 1 Controller List,  !- Controller List Name",
        "    Air Loop HVAC Outdoor Air System 1 Equipment List;  !- Outdoor Air Equipment List Name",

        "OutdoorAir:Mixer,",
        "    Air Loop HVAC Outdoor Air System 1 Outdoor Air Mixer,  !- Name",
        "    Node 9,                  !- Mixed Air Node Name",
        "    Node 7,                  !- Outdoor Air Stream Node Name",
        "    Node 8,                  !- Relief Air Stream Node Name",
        "    Node 2;                  !- Return Air Stream Node Name",

        "AirLoopHVAC:ZoneSplitter,",
        "    Air Loop HVAC Zone Splitter 1,  !- Name",
        "    Node 4,                  !- Inlet Node Name",
        "    Node 24;                 !- Outlet 1 Node Name",

        "AirLoopHVAC:SupplyPath,",
        "    Packaged Rooftop VAV with Reheat Node 4 Supply Path,  !- Name",
        "    Node 4,                  !- Supply Air Path Inlet Node Name",
        "    AirLoopHVAC:ZoneSplitter,!- Component 1 Object Type",
        "    Air Loop HVAC Zone Splitter 1;  !- Component 1 Name",

        "AirLoopHVAC:ZoneMixer,",
        "    Series PIU Elec Rht Mixer,  !- Name",
        "    Series PIU Elec Rht Mixer Outlet,  !- Outlet Node Name",
        "    Node 24,                           !- Inlet 1 Node Name",
        "    Node 25;                           !- Inlet 2 Node Name",

        "AirLoopHVAC:ZoneMixer,",
        "    Air Loop HVAC Zone Mixer 1,  !- Name",
        "    Node 5,                  !- Outlet Node Name",
        "    Node 12;                 !- Inlet 1 Node Name",

        "AirLoopHVAC:ReturnPath,",
        "    Packaged Rooftop VAV with Reheat Return Path,  !- Name",
        "    Node 5,                  !- Return Air Path Outlet Node Name",
        "    AirLoopHVAC:ZoneMixer,   !- Component 1 Object Type",
        "    Air Loop HVAC Zone Mixer 1;  !- Component 1 Name",

        "Branch,",
        "    Packaged Rooftop VAV with Reheat Main Branch,  !- Name",
        "    ,                        !- Pressure Drop Curve Name",
        "    AirLoopHVAC:OutdoorAirSystem,  !- Component 1 Object Type",
        "    Air Loop HVAC Outdoor Air System 1,  !- Component 1 Name",
        "    Node 2,                  !- Component 1 Inlet Node Name",
        "    Node 9,                  !- Component 1 Outlet Node Name",
        "    CoilSystem:Cooling:DX,   !- Component 2 Object Type",
        "    Coil Cooling DX Two Speed 1 CoilSystem,  !- Component 2 Name",
        "    Node 9,                  !- Component 2 Inlet Node Name",
        "    Node 10,                 !- Component 2 Outlet Node Name",
        "    Coil:Heating:Electric,   !- Component 3 Object Type",
        "    Elec Htg Coil,           !- Component 3 Name",
        "    Node 10,                 !- Component 3 Inlet Node Name",
        "    Node 11,                 !- Component 3 Outlet Node Name",
        "    Fan:VariableVolume,      !- Component 4 Object Type",
        "    Fan Variable Volume 1,   !- Component 4 Name",
        "    Node 11,                 !- Component 4 Inlet Node Name",
        "    Node 3;                  !- Component 4 Outlet Node Name",

        "BranchList,",
        "    Packaged Rooftop VAV with Reheat Supply Branches,  !- Name",
        "    Packaged Rooftop VAV with Reheat Main Branch;  !- Branch 1 Name",

        "NodeList,",
        "    Thermal Zone 1 Exhaust Node,  !- Name",
        "    Node 25;                      !- Node 1 Name",

        "NodeList,",
        "    Thermal Zone 1 Inlet Node List,  !- Name",
        "    Node 6;                  !- Node 1 Name",

        "NodeList,",
        "    Packaged Rooftop VAV with Reheat Supply Outlet Nodes,  !- Name",
        "    Node 3;                  !- Node 1 Name",

        "NodeList,",
        "    Packaged Rooftop VAV with Reheat Demand Inlet Nodes,  !- Name",
        "    Node 4;                  !- Node 1 Name",

        "OutdoorAir:Node,",
        "    Model Outdoor Air Node;  !- Name",

        "OutdoorAir:NodeList,",
        "    Node 7;                  !- Node or NodeList Name 1",

        "AvailabilityManager:Scheduled,",
        "    Packaged Rooftop VAV with Reheat Availability Manager,  !- Name",
        "    Always On Discrete;      !- Schedule Name",

        "AvailabilityManager:Scheduled,",
        "    Air Loop HVAC Outdoor Air System 1 Availability Manager,  !- Name",
        "    Always On Discrete;      !- Schedule Name",

        "AvailabilityManagerAssignmentList,",
        "    Packaged Rooftop VAV with ReheatAvailability Manager List,  !- Name",
        "    AvailabilityManager:Scheduled,  !- Availability Manager 1 Object Type",
        "    Packaged Rooftop VAV with Reheat Availability Manager;  !- Availability Manager 1 Name",

        "AvailabilityManagerAssignmentList,",
        "    Air Loop HVAC Outdoor Air System 1 Availability Manager List,  !- Name",
        "    AvailabilityManager:Scheduled,  !- Availability Manager 1 Object Type",
        "    Air Loop HVAC Outdoor Air System 1 Availability Manager;  !- Availability Manager 1 Name",

        "SetpointManager:MixedAir,",
        "    Node 9 OS Default SPM,   !- Name",
        "    Temperature,             !- Control Variable",
        "    Node 3,                  !- Reference Setpoint Node Name",
        "    Node 11,                 !- Fan Inlet Node Name",
        "    Node 3,                  !- Fan Outlet Node Name",
        "    Node 9;                  !- Setpoint Node or NodeList Name",

        "SetpointManager:MixedAir,",
        "    Node 10 OS Default SPM,  !- Name",
        "    Temperature,             !- Control Variable",
        "    Node 3,                  !- Reference Setpoint Node Name",
        "    Node 11,                 !- Fan Inlet Node Name",
        "    Node 3,                  !- Fan Outlet Node Name",
        "    Node 10;                 !- Setpoint Node or NodeList Name",

        "SetpointManager:MixedAir,",
        "    Node 11 OS Default SPM,  !- Name",
        "    Temperature,             !- Control Variable",
        "    Node 3,                  !- Reference Setpoint Node Name",
        "    Node 11,                 !- Fan Inlet Node Name",
        "    Node 3,                  !- Fan Outlet Node Name",
        "    Node 11;                 !- Setpoint Node or NodeList Name",

        "SetpointManager:Warmest,",
        "    Supply air control,      !- Name",
        "    Temperature,             !- Control Variable",
        "    Packaged Rooftop VAV with Reheat,  !- HVAC Air Loop Name",
        "    10.0,                    !- Minimum Setpoint Temperature {C}",
        "    25.0,                    !- Maximum Setpoint Temperature {C}",
        "    MAximumTemperature,      !- Strategy",
        "    Node 3;                  !- Setpoint Node or NodeList Name",

        "Curve:Quadratic,",
        "    Curve Quadratic 1,       !- Name",
        "    0.77136,                 !- Coefficient1 Constant",
        "    0.34053,                 !- Coefficient2 x",
        "    -0.11088,                !- Coefficient3 x**2",
        "    0.75918,                 !- Minimum Value of x",
        "    1.13877;                 !- Maximum Value of x",

        "Curve:Quadratic,",
        "    Curve Quadratic 2,       !- Name",
        "    1.2055,                  !- Coefficient1 Constant",
        "    -0.32953,                !- Coefficient2 x",
        "    0.12308,                 !- Coefficient3 x**2",
        "    0.75918,                 !- Minimum Value of x",
        "    1.13877;                 !- Maximum Value of x",

        "Curve:Quadratic,",
        "    Curve Quadratic 3,       !- Name",
        "    0.771,                   !- Coefficient1 Constant",
        "    0.229,                   !- Coefficient2 x",
        "    0,                       !- Coefficient3 x**2",
        "    0,                       !- Minimum Value of x",
        "    1;                       !- Maximum Value of x",

        "Curve:Biquadratic,",
        "    Curve Biquadratic 1,     !- Name",
        "    0.42415,                 !- Coefficient1 Constant",
        "    0.04426,                 !- Coefficient2 x",
        "    -0.00042,                !- Coefficient3 x**2",
        "    0.00333,                 !- Coefficient4 y",
        "    -8e-005,                 !- Coefficient5 y**2",
        "    -0.00021,                !- Coefficient6 x*y",
        "    17,                      !- Minimum Value of x",
        "    22,                      !- Maximum Value of x",
        "    13,                      !- Minimum Value of y",
        "    46;                      !- Maximum Value of y",

        "Curve:Biquadratic,",
        "    Curve Biquadratic 2,     !- Name",
        "    1.23649,                 !- Coefficient1 Constant",
        "    -0.02431,                !- Coefficient2 x",
        "    0.00057,                 !- Coefficient3 x**2",
        "    -0.01434,                !- Coefficient4 y",
        "    0.00063,                 !- Coefficient5 y**2",
        "    -0.00038,                !- Coefficient6 x*y",
        "    17,                      !- Minimum Value of x",
        "    22,                      !- Maximum Value of x",
        "    13,                      !- Minimum Value of y",
        "    46;                      !- Maximum Value of y",

        "Curve:Biquadratic,",
        "    Curve Biquadratic 3,     !- Name",
        "    0.42415,                 !- Coefficient1 Constant",
        "    0.04426,                 !- Coefficient2 x",
        "    -0.00042,                !- Coefficient3 x**2",
        "    0.00333,                 !- Coefficient4 y",
        "    -8e-005,                 !- Coefficient5 y**2",
        "    -0.00021,                !- Coefficient6 x*y",
        "    17,                      !- Minimum Value of x",
        "    22,                      !- Maximum Value of x",
        "    13,                      !- Minimum Value of y",
        "    46;                      !- Maximum Value of y",

        "Curve:Biquadratic,",
        "    Curve Biquadratic 4,     !- Name",
        "    1.23649,                 !- Coefficient1 Constant",
        "    -0.02431,                !- Coefficient2 x",
        "    0.00057,                 !- Coefficient3 x**2",
        "    -0.01434,                !- Coefficient4 y",
        "    0.00063,                 !- Coefficient5 y**2",
        "    -0.00038,                !- Coefficient6 x*y",
        "    17,                      !- Minimum Value of x",
        "    22,                      !- Maximum Value of x",
        "    13,                      !- Minimum Value of y",
        "    46;                      !- Maximum Value of y",

    });

    ASSERT_TRUE(process_idf(idf_objects));

    state->dataGlobal->DDOnlySimulation = true;

    ManageSimulation(*state); // run the design day over the warmup period (24 hrs, 25 days)

    int constexpr PIUNum = 1;
    int constexpr ADUNum = 1;

    ASSERT_EQ(1, state->dataPowerInductionUnits->NumSeriesPIUs);
    EXPECT_EQ("SERIES PIU ELEC RHT AIR DISTRIBUTION UNIT", state->dataDefineEquipment->AirDistUnit(ADUNum).Name); // ADU name
    EXPECT_EQ("SERIES PIU ELEC RHT", state->dataPowerInductionUnits->PIU(PIUNum).Name);                           // PIU series name
    EXPECT_EQ(state->dataDefineEquipment->AirDistUnit(ADUNum).InletNodeNum, state->dataPowerInductionUnits->PIU(PIUNum).PriAirInNode);
    EXPECT_EQ(state->dataDefineEquipment->AirDistUnit(state->dataPowerInductionUnits->PIU(PIUNum).ADUNum).AirLoopNum,
              state->dataZoneEquip->ZoneEquipConfig(state->dataPowerInductionUnits->PIU(PIUNum).CtrlZoneNum)
                  .InletNodeAirLoopNum(state->dataPowerInductionUnits->PIU(PIUNum).ctrlZoneInNodeIndex));
    ASSERT_TRUE(state->dataZoneEquip->ZoneEquipConfig(state->dataPowerInductionUnits->PIU(PIUNum).CtrlZoneNum)
                    .AirDistUnitCool(state->dataPowerInductionUnits->PIU(PIUNum).ctrlZoneInNodeIndex)
                    .SupplyAirPathExists);
}

} // namespace EnergyPlus
